using System;
using System.Text;
using System.Reflection;
using System.ServiceModel;
using System.Collections.Generic;
using System.Runtime.Serialization;
using TDS = Tridion.ContentManager.Interop.TDS;
using TDSDefines = Tridion.ContentManager.Interop.TDSDefines;



#pragma warning disable 649
namespace Tridion.Gateway
{
	[DataContract]
	public class PublishTransaction:Facade
	{
        internal PublishTransaction(TDS.PublishTransaction PublishTransaction, bool ShallowCopy)
            : base(typeof(TDS._PublishTransaction), PublishTransaction, ShallowCopy)
		{
		}

		[DataMember(Name="itemType")]
		private TDSDefines.ItemType itemtype;
		public TDSDefines.ItemType itemType
		{
			 get { return itemtype; }
		}


		[DataMember(Name="ID")]
		private String id;
		public String ID
		{
			 get { return id; }
		}


		[DataMember(Name="Publication")]
		private Publication publication;
		public Publication Publication
		{
			 get { return publication; }
		}


		[DataMember(Name="PublicationTarget")]
		private PublicationTarget publicationtarget;
		public PublicationTarget PublicationTarget
		{
			 get { return publicationtarget; }
		}


		[DataMember(Name="Publisher")]
		private User publisher;
		public User Publisher
		{
			 get { return publisher; }
		}


		[DataMember(Name="State")]
		private TDSDefines.EnumPublishTransactionState state;
		public TDSDefines.EnumPublishTransactionState State
		{
			 get { return state; }
			 set { state = value; }
		}


		[DataMember(Name="StateChangeDate")]
		private DateTime statechangedate;
		public DateTime StateChangeDate
		{
			 get { return statechangedate; }
		}


		[DataMember(Name="Priority")]
		private TDSDefines.EnumPublishPriority priority;
		public TDSDefines.EnumPublishPriority Priority
		{
			 get { return priority; }
		}


		[DataMember(Name="Action")]
		private TDSDefines.EnumPublishAction action;
		public TDSDefines.EnumPublishAction Action
		{
			 get { return action; }
		}


		[DataMember(Name="publishTime")]
		private DateTime publishtime;
		public DateTime publishTime
		{
			 get { return publishtime; }
		}


		[DataMember(Name="deployTime")]
		private DateTime deploytime;
		public DateTime deployTime
		{
			 get { return deploytime; }
		}


		[DataMember(Name="Information")]
		private String information;
		public String Information
		{
			 get { return information; }
			 set { information = value; }
		}


		[DataMember(Name="PublisherRequest")]
		private String publisherrequest;
		public String PublisherRequest
		{
			 get { return publisherrequest; }
			 set { publisherrequest = value; }
		}


		[DataMember(Name="isEditable")]
		private Boolean iseditable;
		public Boolean isEditable
		{
			 get { return iseditable; }
		}


		[DataMember(Name="AreComponentLinksResolved")]
		private Boolean arecomponentlinksresolved;
		public Boolean AreComponentLinksResolved
		{
			 get { return arecomponentlinksresolved; }
		}


		[DataMember(Name="AreRenderFailuresIgnored")]
		private Boolean arerenderfailuresignored;
		public Boolean AreRenderFailuresIgnored
		{
			 get { return arerenderfailuresignored; }
		}


		[DataMember(Name="MaximumNumberOfRenderFailures")]
		private Int32 maximumnumberofrenderfailures;
		public Int32 MaximumNumberOfRenderFailures
		{
			 get { return maximumnumberofrenderfailures; }
		}

        protected override void Initialize(FieldInfo field, PropertyInfo property, Object value)
        {

        }

	}
}

/*
			System.String GetXML(Tridion.ContentManager.Interop.TDSDefines.XMLReadFilter)
			Void UpdateXML(System.String)
			Void Save(Boolean)
			Void Delete()
			Void Execute()
*/
